package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

@Data
public class SampleCustom extends BaseEntity {
    private static final long serialVersionUID = 1L;

    private Long id;

    /** 送检单位名称 */
    @Excel(name = "送检单位名称")
    private String sjdwName;
    /** 产品英文简写 */
    @Excel(name = "产品英文简写")
    private String sampleDecWay;

    /** 送检医生 */
    @Excel(name = "送检医生")
    private String sjys;

    /** 受检人姓名 */
    @Excel(name = "受检人姓名")
    private String patientName;

    /** 受检人性别 */
    @Excel(name = "受检人性别")
    private String patientSex;

    /** 受检人年龄 */
    @Excel(name = "受检人年龄")
    private String patientAge;

    /** 病例ID */
    @Excel(name = "病例ID")
    private String caseId;

    /** 送检单编号 */
    @Excel(name = "送检单编号")
    private String sampleSerialNumber;

    /** 送检码 */
    @Excel(name = "送检码")
    private String sampleBoxCode;

    /** 运输状态 */
    @Excel(name = "运输状态")
    private String sendStatus;

    /** 温度 */
    @Excel(name = "温度")
    private String temperature;

    /** 收样日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date receiveSampleDate;

    /** 收样日期 */
    @Excel(name = "收样日期")
    private String receiveSampleDateStr;


    /** 配偶姓名 */
    @Excel(name = "配偶姓名")
    private String mateName;

    /** 配偶性别 */
    @Excel(name = "配偶性别")
    private String mateSex;

    /** 配偶年龄 */
    @Excel(name = "配偶年龄")
    private String mateAge;

    /** 受检人核型 */
    @Excel(name = "受检人核型")
    private String patientKaryotype;

    /** 配偶核型 */
    @Excel(name = "配偶核型")
    private String mateKaryotype;

    /** 采样日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date getSampleDate;

    /** 采样日期 */
    @Excel(name = "采样日期")
    private String getSampleDateStr;


    /** 样本编号 */
    @Excel(name = "样本编号")
    private String sampleId;

    /** 送检单样本名称 */
    @Excel(name = "送检单样本名称")
    private String sampleName;
    /** 样本类型 */
    @Excel(name = "样本类型")
    private String sampleType;

    /** 形态学评级 */
    @Excel(name = "形态学评级")
    private String sampleLevel;

    /** CNV检测结果 */
    @Excel(name = "CNV检测结果")
    private String cnvResult;

    /** 结果解释 */
    @Excel(name = "结果解释")
    private String resultExplain;

    /** 提示CNV */
    @Excel(name = "提示CNV")
    private String remindCnv;

    /** 染色体位置 */
    @Excel(name = "染色体位置")
    private String chromLocation;


    /** 结果说明 */
    @Excel(name = "结果说明")
    private String resultInfo;

    /** 异倍体分析结果 */
    @Excel(name = "异倍体分析结果")
    private String heteroploidResult;

    /** 受精方式 */
    @Excel(name = "受精方式")
    private String sjfs;

    /** 胚胎信息 */
    @Excel(name = "胚胎信息")
    private String ptInfo;

    /** 培养液采集方案 */
    @Excel(name = "培养液采集方案")
    private String pyySolution;

    /** NICS评级 */
    @Excel(name = "NICS评级")
    private String nicsLevel;

    /** AI智能评分 */
    @Excel(name = "AI智能评分")
    private String aiSmartScore;

    /** 母源父源污染 */
    @Excel(name = "母源父源污染")
    private String moFaPollute;

    /** 其他染色体,核型信息 */
    @Excel(name = "其他染色体,核型信息")
    private String otherChromosome;

    /** 女方母亲核型 */
    @Excel(name = "女方母亲核型")
    private String karyotypeWMo;

    /** 女方父亲核型 */
    @Excel(name = "女方父亲核型")
    private String karyotypeWFa;

    /** 男方母亲核型 */
    @Excel(name = "男方母亲核型")
    private String karyotypeMMo;

    /** 男方父亲核型 */
    @Excel(name = "男方父亲核型")
    private String karyotypeMFa;

    /** 与受检夫妇亲缘关系 */
    @Excel(name = "与受检夫妇亲缘关系")
    private String relationship;

    /** 携带状态 */
    @Excel(name = "携带状态")
    private String carryStatus;

    /** 结果备注1 */
    @Excel(name = "结果备注1")
    private String resultRemark;

    /** 是否连锁分析 */
    @Excel(name = "是否连锁分析")
    private String isAnalysis;

    /** 是否作为参考胚 */
    @Excel(name = "是否作为参考胚")
    private String isCkpt;

    /** 是否转MaReCs第二阶段 */
    @Excel(name = "是否转MaReCs第二阶段")
    private String isMoveMarecs2;

    /** 基因 */
    @Excel(name = "基因")
    private String gene;

    /** 遗传模式 */
    @Excel(name = "遗传模式")
    private String ycms;

    /** 突变位点cHGVS */
    @Excel(name = "突变位点cHGVS")
    private String chgvs;


    @Excel(name = "结果备注2")
    private String resultRemark2;

    @Excel(name = "结果备注3")
    private String resultRemark3;

    @Excel(name = "临床指证")
    private String clinicalIndication;

    @Excel(name = "变异携带结果")
    private String variationCarryResult;

    @Excel(name = "变异检测结果")
    private String variationResult;

    @Excel(name = "染色体断点结果")
    private String chromosomeBreakpointResult;

    @Excel(name = "结果一致性")
    private String resultConsistency;


    @Override
    public String toString() {
        return "SampleCustom{" +
                "id=" + id +
                ", sjdwName='" + sjdwName + '\'' +
                ", sampleDecWay='" + sampleDecWay + '\'' +
                ", sjys='" + sjys + '\'' +
                ", patientName='" + patientName + '\'' +
                ", patientSex='" + patientSex + '\'' +
                ", patientAge='" + patientAge + '\'' +
                ", caseId='" + caseId + '\'' +
                ", sampleSerialNumber='" + sampleSerialNumber + '\'' +
                ", sampleBoxCode='" + sampleBoxCode + '\'' +
                ", sendStatus='" + sendStatus + '\'' +
                ", temperature='" + temperature + '\'' +
                ", receiveSampleDate=" + receiveSampleDate +
                ", mateName='" + mateName + '\'' +
                ", mateSex='" + mateSex + '\'' +
                ", mateAge='" + mateAge + '\'' +
                ", patientKaryotype='" + patientKaryotype + '\'' +
                ", mateKaryotype='" + mateKaryotype + '\'' +
                ", getSampleDate=" + getSampleDate +
                ", sampleId='" + sampleId + '\'' +
                ", sampleName='" + sampleName + '\'' +
                ", sampleType='" + sampleType + '\'' +
                ", sampleLevel='" + sampleLevel + '\'' +
                ", cnvResult='" + cnvResult + '\'' +
                ", resultExplain='" + resultExplain + '\'' +
                ", remindCnv='" + remindCnv + '\'' +
                ", chromLocation='" + chromLocation + '\'' +
                ", resultInfo='" + resultInfo + '\'' +
                ", heteroploidResult='" + heteroploidResult + '\'' +
                ", sjfs='" + sjfs + '\'' +
                ", ptInfo='" + ptInfo + '\'' +
                ", pyySolution='" + pyySolution + '\'' +
                ", nicsLevel='" + nicsLevel + '\'' +
                ", aiSmartScore='" + aiSmartScore + '\'' +
                ", moFaPollute='" + moFaPollute + '\'' +
                ", otherChromosome='" + otherChromosome + '\'' +
                ", karyotypeWMo='" + karyotypeWMo + '\'' +
                ", karyotypeWFa='" + karyotypeWFa + '\'' +
                ", karyotypeMMo='" + karyotypeMMo + '\'' +
                ", karyotypeMFa='" + karyotypeMFa + '\'' +
                ", relationship='" + relationship + '\'' +
                ", carryStatus='" + carryStatus + '\'' +
                ", resultRemark='" + resultRemark + '\'' +
                ", isAnalysis='" + isAnalysis + '\'' +
                ", isCkpt='" + isCkpt + '\'' +
                ", isMoveMarecs2='" + isMoveMarecs2 + '\'' +
                ", gene='" + gene + '\'' +
                ", ycms='" + ycms + '\'' +
                ", chgvs='" + chgvs + '\'' +
                '}';
    }
}
